A Meta-theory for Big-step Semantics

نویسندگان

چکیده

It is well known that big-step semantics not able to distinguish stuck and non-terminating computations. This a strong limitation as it makes very difficult reason about properties involving infinite computations, such type soundness, which cannot even be expressed. We show this issue only apparent: the distinction between diverging computations implicit in any just needs uncovered. To achieve goal, we develop systematic study of semantics: introduce an abstract definition what is, define notion computation by formalizing evaluation algorithm implicitly associated with semantics, how canonically extend characterize Building on these notions, describe general proof technique predicate sound, prevents computation, respect semantics. One check three relating if they hold, sound. The extended essential establish meta-logical result but no concerns user, who prove initial Finally, illustrate several examples, showing applicable also cases where subject reduction does hence standard for small-step used.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Order Theory for Big-Step Semantics

We show that tools from order theory, such as Kleene fixpoint theorem, can be used to define bigstep semantics that simultaneously account for both converging and diverging behaviors of programs. These semantics remain very concrete. In particular, values are defined syntactically: the semantics of a function abstraction is a function closure rather than some abstract continuous function.

متن کامل

Big-Step Semantics

With the popularity of model-driven methodologies, and the abundance of modelling languages, a major question for a requirements engineer is: which language is suitable for modelling a system under study? We address this question from a semantic point-of-view for big-step modelling languages (BSMLs). BSMLs are a popular class of behavioural modelling languages in which a model can respond to an...

متن کامل

Functional Big-Step Semantics

When doing an interactive proof about a piece of software, it is important that the underlying programming language’s semantics does not make the proof unnecessarily difficult or unwieldy. Both smallstep and big-step semantics are commonly used, and the latter is typically given by an inductively defined relation. In this paper, we consider an alternative: using a recursive function akin to an ...

متن کامل

Pretty-Big-Step Semantics

In spite of the popularity of small-step semantics, big-step semantics remain used by many researchers. However, big-step semantics suffer from a serious duplication problem, which appears as soon as the semantics account for exceptions and/or divergence. In particular, many premises need to be copy-pasted across several evaluation rules. This duplication problem, which is particularly visible ...

متن کامل

From Small-Step Semantics to Big-Step Semantics, Automatically

Small-step semantics and big-step semantics are two styles for operationally defining the meaning of programming languages. Small-step semantics are given as a relation between program configurations, relation which denotes one computational step; big-step semantics are given as a relation directly associating to each program configuration the corresponding final configuration. Small-step seman...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: ACM Transactions on Computational Logic

سال: 2022

ISSN: ['1557-945X', '1529-3785']

DOI: https://doi.org/10.1145/3522729